<template>
  <div class="container">
    <h2>name: {{ name }} age: {{ age }}</h2>
    <button @click="updateName">修改数据</button>
  </div>
</template>
<script>
import { reactive, ref, toRef } from 'vue'
export default {
  name: 'App',
  setup() {
    const obj = reactive({
      name: 'ifer',
      age: 10,
      address: '河南',
      sex: '男',
    })
    const name = ref(obj.name)
    const age = ref(obj.age)
    const updateName = () => {
      // name.value = 'xxx'
      // !ref 函数也可以转换普通数据为响应式的，但值非关联，例如下面写法，视图并不会更新
      obj.name = 'xxx'
    }
    return { name, age, updateName }
  },
}

/* const o = { age: 18 }
// 把 o.age 完完全复制了一份，给了 age 变量，xx 里面的 age 脱离了原来的对象，和原来没关系了
const xx = { age: o.age }
xx.age = 19
console.log(o.age) */
</script>